iT邦幫忙

1

===小鐵人 – linux 基礎篇,awk探討 7/10==

  • 分享至 

  • xImage
  •  

===小鐵人 – linux 基礎篇,awk探討 7/10==

參考自
http://smartpg.pixnet.net/blog/post/23282164-%E7%B3%BB%E7%B5%B1%E7%A8%8B%E5%BC%8F%E4%BD%9C%E6%A5%AD4-awk%E6%8C%87%E4%BB%A4%E6%95%99%E5%AD%B8%E7%AD%86%E8%A8%98

AWK會把資料以行為單位讀進來,
並且將資料(以空白orTAB)分成一個欄位一個欄位方便處理,
$0代表一整行,$1~$N代表1~N個欄位
例如說:如果資料是

A B C
1 2

讀取第一行的時候,$0=="A B C" $1=="A" $2=="B" $3=="C"
讀取第二行的時候,$0=="1 2″ $1==1 $2==2

—參數—
-F 可以自定義分隔符號

如果文檔寫這樣
tcpdump:x:72:72::/:/sbin/nologin
dbus:x:81:81:System message
apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bas

範例一
awk -F: ‘{print $1, $2}’ /etc/passwd
這樣會以:為分隔符號顯示前面兩個欄位(tcpdump x)

範例二
也可以加入正規表示式
awk -F: ‘/root/{ print $0 }’ /etc/passwd

範例三
可以自己設定分隔符號
awk -F: ‘BEGIN{OFS="&"}/^root/{ print $1, $2 }’ /etc/passwd


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言